import { setupWorker } from 'msw/browser';
import { handlers } from './mockHandlers';

// 设置MSW worker
export const worker = setupWorker(...handlers);

// 启动MSW
export const startMocking = async () => {
  if (typeof window !== 'undefined') {
    // 在开发环境中启动MSW
    if (import.meta.env.DEV) {
      try {
        // 确保使用正确的路径
        await worker.start({
          onUnhandledRequest: 'bypass',
          // 不指定特定路径，让MSW自动查找
        });
        console.log('🔧 MSW 模拟API已启动');
      } catch (error) {
        console.error('MSW 启动失败:', error);
        // 即使MSW启动失败，也不阻止应用继续运行
      }
    }
  }
};

// 停止MSW
export const stopMocking = () => {
  if (typeof window !== 'undefined') {
    worker.stop();
    console.log('🔧 MSW 模拟API已停止');
  }
};

// 重置所有模拟处理器
export const resetMocking = () => {
  if (typeof window !== 'undefined') {
    worker.resetHandlers();
    console.log('🔧 MSW 模拟处理器已重置');
  }
};

export default worker;